package com.rent.reserve.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.rent.common.annotation.Excel;
import com.rent.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 租房订单对象 rent_reserve
 *
 * @author cooper
 * @date 2024-10-15
 */
@TableName(resultMap = "com.rent.reserve.mapper.ReserveMapper.ReserveResult")
public class Reserve extends BaseEntity
        {
private static final long serialVersionUID = 1L;

        /** 预约ID */
            @TableId(value = "reserve_id" , type = IdType.AUTO)
        private Long reserveId;

        /** 公寓ID:删掉了room_id */
                @Excel(name = "公寓ID:删掉了room_id" )
        private Long apartmentId;

        /** 房东联系方式:from rent_apartments */
                @Excel(name = "房东联系方式:from rent_apartments" )
        private String hostNumber;

        /** 房间图片:from rent_room */
                @Excel(name = "房间图片:from rent_room" )
        private String roomPicture;

        /** 租金金额 */
                @Excel(name = "租金金额" )
        private BigDecimal rent;

        /** 预约开始日期 */
                @JsonFormat(pattern = "yyyy-MM-dd" )
                @Excel(name = "预约开始日期" , width = 30, dateFormat = "yyyy-MM-dd" )
        private Date startDate;

        /** 预约结束日期 */
                @JsonFormat(pattern = "yyyy-MM-dd" )
                @Excel(name = "预约结束日期" , width = 30, dateFormat = "yyyy-MM-dd" )
        private Date endDate;

        /** 预约状态:默认 */
                @Excel(name = "预约状态:默认" )
        private String status;

        /** 公寓信息:包含apartment_province, apartment_city, apartment_neighborhoods, apartment_community, unit, door_Number                    from rent_apartments */
                @Excel(name = "公寓信息:包含apartment_province, apartment_city, apartment_neighborhoods, apartment_community, unit, door_Number                    from rent_apartments" )
        private String apartmentInfo;

        public void setReserveId(Long reserveId) {
            this.reserveId = reserveId;
        }

        public Long getReserveId() {
            return reserveId;
        }
        public void setApartmentId(Long apartmentId) {
            this.apartmentId = apartmentId;
        }

        public Long getApartmentId() {
            return apartmentId;
        }
        public void setHostNumber(String hostNumber) {
            this.hostNumber = hostNumber;
        }

        public String getHostNumber() {
            return hostNumber;
        }
        public void setRoomPicture(String roomPicture) {
            this.roomPicture = roomPicture;
        }

        public String getRoomPicture() {
            return roomPicture;
        }
        public void setRent(BigDecimal rent) {
            this.rent = rent;
        }

        public BigDecimal getRent() {
            return rent;
        }
        public void setStartDate(Date startDate) {
            this.startDate = startDate;
        }

        public Date getStartDate() {
            return startDate;
        }
        public void setEndDate(Date endDate) {
            this.endDate = endDate;
        }

        public Date getEndDate() {
            return endDate;
        }
        public void setStatus(String status) {
            this.status = status;
        }

        public String getStatus() {
            return status;
        }
        public void setApartmentInfo(String apartmentInfo) {
            this.apartmentInfo = apartmentInfo;
        }

        public String getApartmentInfo() {
            return apartmentInfo;
        }

@Override
public String toString() {
    return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
        .append("reserveId" , getReserveId())
        .append("apartmentId" , getApartmentId())
        .append("hostNumber" , getHostNumber())
        .append("roomPicture" , getRoomPicture())
        .append("rent" , getRent())
        .append("startDate" , getStartDate())
        .append("endDate" , getEndDate())
        .append("status" , getStatus())
        .append("apartmentInfo" , getApartmentInfo())
            .toString();
}
}